package com.fengke.dao.order;

import java.sql.SQLException;
import java.util.List;

import com.fengke.dao.model.OrderItemModel;
import com.fengke.dao.model.OrderModel;
import com.fengke.dao.model.PaymentModel;

public interface OrderManager {
	Integer researchOrderListSize(OrderModel orderModel) throws SQLException;

	List<OrderModel> researchOrderList(OrderModel orderModel, int offset, int limit) throws SQLException;

	OrderModel researchOrderById(OrderModel orderModel) throws SQLException;

	List<OrderItemModel> researchOrderItemListByOrderId(OrderItemModel orderItem) throws SQLException;

	Integer researchPayMentListSize(PaymentModel paymentModel) throws SQLException;

	List<PaymentModel> researchPaymentList(PaymentModel paymentModel, int offset, int limit) throws SQLException;

	PaymentModel researchPaymentById(PaymentModel paymentModel) throws SQLException;

	Long createOrder(OrderModel orderModel) throws SQLException;

	Long createOrderItem(OrderItemModel orderItem) throws SQLException;

	Long createPayment(PaymentModel paymentModel) throws SQLException;

	void updateOrderModelPaymentStatus(OrderModel orderModel) throws SQLException;

	void updatePaymentModelStatus(PaymentModel paymentModel) throws SQLException;

	void updateTimeoutNopaidOrder(OrderModel orderModel) throws SQLException;

	void deleteOrderItemByOrderIds(List<String> list) throws SQLException;

	void deletePaymentByOrderIds(List<String> list) throws SQLException;

	void deleteOrderByIds(List<String> list) throws SQLException;

	void updateOrderModelStatus(OrderModel orderModel) throws SQLException;

	void updateAssociateShowStatus(OrderModel orderModel) throws SQLException;
}
